/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 86136
 * Date: 2024-05-16
 * Time: 17:09
 */
public class Test {
    public static void moveMouse(char pos1,char pos2){
        System.out.print(pos1 + "->" + pos2 + " ");
    }

    //pos1:起始位置
    //pos2:中转位置
    //pos3:目标位置
    public static void hanoi(int n,char pos1,char pos2,char pos3) {
        if(n == 1){
            moveMouse(pos1,pos3);
            return;
        }
        hanoi(n-1,pos1,pos3,pos2);
        moveMouse(pos1,pos3);
        hanoi(n-1,pos2,pos1,pos3);
    }

    public static void main4(String[] args) {
        //递归求解汉诺塔问题
        int n = 2;
        char pos1 = 'A';
        char pos2 = 'B';
        char pos3 = 'C';
        hanoi(n,pos1,pos2,pos3);
    }
    public static int max(int x,int y) {
        return Math.max(x,y);
    }
    public static double max(double x,double y,double z) {
        double n = Math.max(x,y);
        return Math.max(n,z);
    }
    public static void main(String[] args) {
        //求最大值方法的重载 在同一个类中定义多个方法：要求不仅可以求2个整数的最大值，还可以求3个小数的最大值？
        System.out.println(max(8,4));
        System.out.println(max(2.11,2.56,2.34));
    }
    public static int sum(int x,int y) {
        return x + y;
    }
    public static double sum(double x,double y,double z) {
        return x + y + z;
    }
    public static void main2(String[] args) {
        //在同一个类中,分别定义求两个整数的方法和三个小数之和的方法。并执行代码，求出结果
        System.out.println(sum(3,5));
        System.out.println(sum(3.7,3.2,5.82));
    }
    public static int max3(int x,int y,int z) {
        int tmp = max2(x,y);
        return tmp > z ? tmp : z;
    }
    public static int max2(int x,int y) {
        return x > y ? x : y;
    }
    public static void main1(String[] args) {
         /*创建方法求两个数的最大值max2，随后再写一个求3个数的最大值的函数max3。
     要求：在max3这个函数中，调用max2函数，来实现3个数的最大值计算*/
        int num1 = 10;
        int num2 = 20;
        int num3 = 15;
        int retMax2 = max2(num1,num2);
        int retMax3 = max3(num1,num2,num3);
        System.out.println("max2 = " + retMax2);
        System.out.println("max3 = " + retMax3);
    }
}
